package com.xiaotao.user.mapper;

import com.xiaotao.common.domain.dto.Condition;
import com.xiaotao.user.domain.po.User;
import com.xiaotao.user.domain.vo.UserListVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 用户 Mapper 接口
 * @since 2025-7-20
 */
@Mapper
@Repository
public interface UserMapper {

    /**
     * 新增用户信息
     * @param user 用户对象
     */
    void addUser(User user);

    int selectUserById(Long id);

    // 根据username查询用户
    User selectUserByPhone(String phone);
    // 根据email查询用户
    User selectUserByEmail(String email);

    //删除用户
    void deleteUser(Long id);

    //获取所有用户列表
    List<UserListVO> getUsers();

    //分页获取用户列表
    List<UserListVO> getUsersByPage(Condition condition);

    //获取用户总数
    long getCounts();
}
